#ifndef FLOYD_WARSHALL_H
#define FLOYD_WARSHALL_H

#include <QVector>
#include <limits>

void floydWarshall(QVector<QVector<double>> &distanceMatrix);

QVector<QVector<double>> floyd(QVector<QVector<double>> distanceMatrix);

void dfs(int node, const QVector<QVector<double>> &distanceMatrix, QVector<bool> &visited, QVector<int> &component, int componentIndex);

int countConnectedComponents(const QVector<QVector<double>> &distanceMatrix, QVector<int> &component);

#endif // FLOYD_WARSHALL_H
